package javabook.ch10;

/*
 * String [] str = {"Java", "자바", "computer", "CORBA", "대한민국", "Millennium", "인터넷"};

위 문자열을 배열을 이용하여 문제를 풀어라. 
- 문자열중에 영문으로 되어있는 요소들만 출력하는 프로그램을 작성하시오.
- 영문 요소들의 모든 문자들을 대문자와 소문자로 출력하는 프로그램을 작성하시오.
- 모든 요소들의 3번째 자리에 "java"가 삽입되도록 프로그램을 작성하시오.
- 영문 요소들 중에 "e" 문자를 포함하고 있는 요소만을 출력하는 프로그램을 작성하시오.

 */
public class todo20111205 {
	

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		StringMethod sm = new StringMethod();
		sm.PrintString();
		sm.SeleteEnglish();
		sm.ChangeUpToLow();
		sm.InsertChar();
	}

		
}

class StringMethod{
	
	static String [] str = { "JAVA", "자바", "computer", "CORBA", "대한민국", "Millennium", "인터넷"};
	
	public void PrintString(){
		
		System.out.println( "===== PrintString =====");
		for (int i=0; i<str.length; i++){
            System.out.print(str[i] + " \n");
        }
        
        System.out.println("\n");
	}
	
	//영단어만 골라서 보여주기 
	public void SeleteEnglish(){
		System.out.println( "===== SeleteEnglish =====");
        int count = 0;
        for(int i=0; i<str.length; i++) {
                for (int j=0; j<str[i].length(); j++ ) {
                        if( str[i].charAt(j) < 'A') {
                                break;
                        }
                        
                        else if (str[i].charAt(j) > 'z') {
                                break;
                        }
                        
                        else if (str[i].charAt(j) >'Z' && str[i].charAt(j)<'a') {
                                break;
                        }
                        
                        if ( j==str[i].length()-1 ){
                                count++;
                                System.out.println(count + "." + str[i]);
                        }
                }
        } 
	}
	
	//영대문자 -> 영소문자, 영소문자-> 영대문자
	public void ChangeUpToLow(){
		System.out.println( "===== ChangeUpToLow =====");
	        int count = 0;
	        
	        for(int i=0; i<str.length; i++) {
	                for (int j=0; j<str[i].length(); j++) {
	                        if( str[i].charAt(j)<'A' ) 
	                                break;
	                        else if( str[i].charAt(j)>'z' )
	                                break;
	                        else if( str[i].charAt(j)>'Z' && str[i].charAt(j)<'a' )
	                                break;
	                        
	                        if( j == str[i].length()-1 ) {
	                                count++;
	                                System.out.println(count+". "+ str[i].toUpperCase() + ", " + str[i].toLowerCase() + "\n");
	                        }
	                }
	        }
		
	}
	
	
	//각 요소들의 3번째 자리에 java라는 단어 넣기 
	public void InsertChar(){
		System.out.println( "===== InsertChar =====");
		for(int i = 0; i< str.length; i++){
			StringBuffer temp = new StringBuffer(str[i]);
			temp.insert(2, "java");
			System.out.println(temp + "\n");
		}
	}	

	
	// StringBuffer
	// 영문 요소들 중에서 "e" 문자를 포함 하는 요소만 출력하기 
	public void InsertE(){
		System.out.println( "===== InsertChar =====");
		for(int i = 0; i< str.length; i++){
			if(str[i].indexOf('e') != -1){
			     System.out.println(str[i] + "\n");
			}
		}
	}
}
